package com.bit.cfdi.web.dao;

import java.util.List;

import org.springframework.dao.DataAccessException;

import com.bit.cfdi.web.domain.CampoExtraComprobante;
import com.bit.cfdi.web.domain.Giro;
import com.bit.cfdi.web.domain.Negocio;

public interface CampoExtraComprobanteDAO {
	
	public void save(final CampoExtraComprobante 
			campoExtraComprobante) throws DataAccessException;
	
	public List<CampoExtraComprobante> getById(final Long id) throws DataAccessException;
	
	public List<CampoExtraComprobante> getAll() throws DataAccessException;
	
	public List<CampoExtraComprobante> getDefault() throws DataAccessException;
	
	public List<CampoExtraComprobante> getDefaultInit() throws DataAccessException;

	public List<CampoExtraComprobante> getByNegocio(
			final Negocio neg) throws DataAccessException;

	public List<CampoExtraComprobante> getByDscr(
			final String dscr, final Negocio neg) throws DataAccessException;
	
	public List<CampoExtraComprobante> getByStatusAndNegocio(
			final Integer status, final Negocio negocio) throws DataAccessException;
	
	public List<CampoExtraComprobante> getByStatusDefaultAndNegocio(
			final Integer status, final Negocio negocio) throws DataAccessException;
	
	public List<CampoExtraComprobante> getByGiro(
			final Giro giro) throws DataAccessException;
	
	public CampoExtraComprobante getByIdentificador(
			final String identificadorCampoExtra) throws DataAccessException;
	
}
